//---------------------------------------------------------------------------
#ifndef DibujoLineaH
#define DibujoLineaH

#include <gl\gl.h>
#include "Segmento.h"
#include "Lista.h"
#include "Punto.h"
//---------------------------------------------------------------------------
class DibujoLinea {

  public:
     DibujoLinea(Punto,Punto);
     DibujoLinea();
     ~DibujoLinea();
     Lista<Segmento>* getLinea();
     Punto* getOrigen();
     Punto* getDestino();
     bool getSeleccionada();
     void setSeleccionada(bool);
     bool getEsPoligono();
     void setEsPoligono(bool);
     void addSegmento(Punto);
     void inicializa();
     void aplicarFractalKoch1();
     void aplicarFractalKoch2();
     void aplicarFractalDragon();
     void aplicarKoch1(GLdouble  ax, GLdouble  ay, GLdouble  bx, GLdouble  by, int nivel,Lista<Segmento> * &linea);
     void aplicarKoch2(GLdouble  ax, GLdouble  ay, GLdouble  bx, GLdouble  by, int nivel,Lista<Segmento> * &linea);
     void aplicarDragon(GLdouble  ax, GLdouble  ay, GLdouble  bx, GLdouble  by, int nivel,Lista<Segmento> * &linea);

          
  private:
     Lista<Segmento> * _linea;
     bool _seleccionada;
     bool _esPoligono;
     Punto* _origen;
     Punto* _destino;
     
};

#endif
   
